
// 自己的有错误
// export const dataToTree = (data, pid) => {
//   // console.log(data)
//   pid = pid || 0
//   // 第一步：找到一级的父母
//   const parent1 = data.filter(item => item.pid === pid)
//   // 第二部： 帮一级父母找到孩子
//   parent1.forEach(item1 => {
//     // item1 是每一个一级父母
//     item1.children = []
//     data.forEach(item2 => {
//       if (item1.id === item2.pid) {
//         item1.children.push(item2)
//         dataToTree(data, pid + 1)
//       }
//     })
//   })

//   return parent1
// }

// 老师
// export const dataToTree = (data) => {
//   // 第一步：找到一级的父母
//   const parent = data.filter(item => item.pid === 0)
//   // 第二部： 帮一级父母找到孩子
//   parent.forEach(item => {
//     findChildren(item)
//   })
//   function findChildren(parent) {
//     parent.children = []
//     data.forEach(item => {
//       if (parent.id === item.pid) {
//         parent.children.push(item)
//         findChildren(item)
//       }
//     })
//   }
//   return parent
// }

// 老师二

export const dataToTree = (data) => {
  data.forEach(item1 => {
    // item 就是data里的每一个元素，即对象
    item1.children = []
    // 从data里找属于item1的孩子，并添加到children里
    data.forEach(item2 => {
      if (item1.id === item2.pid) {
        // 如果item1的id===item2的pid，说明item2是item1的孩子
        item1.children.push(item2)
      }
    })
    if (item1.children.length === 0) {
      delete item1.children
    }
  })
  // console.log(data)
  // 返回一级的父母
  return data.filter(item => item.pid === 0)
}
